package com.meilai.project.entity.business.building;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meilai.project.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("building_area")
@ApiModel(value= "项目表")
public class BuildingArea extends BaseEntity {
    @ApiModelProperty("项目照片")
    private String photo;
    @ApiModelProperty("项目名称")
    private String name;
    @ApiModelProperty(value = "纬度", example = "30.000000")
    private BigDecimal lat;
    @ApiModelProperty(value = "经度", example = "120.000000")
    private BigDecimal lng;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区")
    private String area;
    @ApiModelProperty("地区行政编码")
    private String adcode;
    @ApiModelProperty("具体地址")
    private String address;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "均价", example = "10000")
    private BigDecimal price;
    @ApiModelProperty(value = "分类id", example = "1")
    private Long type_id;
    @ApiModelProperty(value = "二级分类id", example = "1")
    private Long type_id_second;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "居住规模（人）", example = "8000")
    private Long scale;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "入住率（百分比）", example = "99.5")
    private BigDecimal occupancy_rate;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty("最高楼层")
    private Integer highest_floor;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("入住日期")
    private LocalDate check_in_at;
    @ApiModelProperty("是否有竞媒")
    private Boolean has_compete;
    @ApiModelProperty("是否接受地推活动")
    private Boolean can_ground_promote;
    @ApiModelProperty("说否接受有偿商业宣传")
    private Boolean can_paid_ad;

    @ApiModelProperty("位置补充说明")
    private String location_supply;
    @ApiModelProperty("覆盖周边地域")
    private String cover_location;
    @ApiModelProperty("覆盖周边人群")
    private String cover_people_count;
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("单次固定售卖数")
    private Integer fix_sale_count_per_time;

    @ApiModelProperty(value = "一键复位标识，1：已复位，0：未复位", example = "0")
    private Integer is_reset;
    @ApiModelProperty(value = "楼盘负责工人id", example = "1")
    private Long default_worker_id;

    @ApiModelProperty("车位数")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer parking_count;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty("物业费")
    private BigDecimal management_fee;

    @ApiModelProperty("物业费单位")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long management_fee_unit_id;

    @ApiModelProperty("电梯数")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer elevator_count;

    @ApiModelProperty("电梯类型 0单梯 1双梯")
    private Boolean elevator_type;
}
